#ifndef __ToolMoveObject_h_
#define __ToolMoveObject_h_
#include <iostream>
#include <Ogre.h>
#include <CEGUI/CEGUISystem.h>
#include <OIS/OIS.h>
#include "Tools/Tool.h"
#include "Actions/ActionMoveObject.h"
#include "Actions/ActionMoveCamera.h"
#include "Actions/ActionScaleObject.h"
#include "Actions/ActionSelectObject.h"
#include "MapEditor.h"

class ToolMoveObject: public Tool
{
	public:
		ToolMoveObject(Ogre::Camera *mCam, Ogre::SceneManager *mScMgr, Ogre::RaySceneQuery* ray);
		~ToolMoveObject();

		void mouseMoved(const OIS::MouseEvent &arg);
		void mousePressed(const OIS::MouseEvent &evt);
		void keyPressed(const OIS::KeyEvent &evt);
		void keyReleased(const OIS::KeyEvent &evt);
		void updateGraphics(const Ogre::FrameEvent &evt);

	private:

		
		ActionMoveCamera *moveCam;
		ActionMoveObject *moveObject;
		ActionSelectObject *select;
		ActionScaleObject *scale;

		Ogre::Camera *mCamera;
		Ogre::RaySceneQuery* rayQuery;
		bool objectSelected;
};
#endif 